IDL Questions to Ask
How much training/learning time is needed before a C developer can do a distributed example of "add two numbers" or say "hello, world" ?
What does it take to exchange practical C data structures, such as doubly linked lists, trees, tables, arbitrary structures, etc. in a heterogeneous networking environment?
Does it understand C pointers, structs, typedefs, arrays, etc ?
How easy is it to partition applications using the IDL?
Is there a way to debug these applications? Is it possible to test the "interface" by building a single process application first?
What kinds of IPC mechanism are supported? How are your applications affected when newer transports become available?
Once distributed applications are developed, can they be managed by the Application Administrators? What tools are available for Application Management?
Does it have any support for a licensing scheme?
Does it have any support for selectively encrypting data for security?
What's the cost of "walking away" from this approach if it does not become a standard? How much code do you have to throw away?
When developing applications for multiple platforms, what tools are available for simultaneous development?
How well layered or modular is the Architecture?
How much intermingling of your application code occurs with proprietary Middleware APIs?